// AniMolDoc.h : interface of the CAniMolDoc class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_ANIMOLDOC_H__B93E1E6F_4E89_4F98_8833_7743536FB100__INCLUDED_)
#define AFX_ANIMOLDOC_H__B93E1E6F_4E89_4F98_8833_7743536FB100__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <fstream>
#include <list>
using namespace std;

struct Atom
{
	int ser_no;
	double x_coord;
	double y_coord;
	char atom_name;
};

struct Bond
{
	int atom1;
	int atom2;
	int bond_type;
};

class CAniMolDoc : public CDocument
{
protected: // create from serialization only
	CAniMolDoc();
	DECLARE_DYNCREATE(CAniMolDoc)

// Attributes
public:

	list<Atom> AtomList;
	list<Bond> BondList;
// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAniMolDoc)
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CAniMolDoc();

#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CAniMolDoc)
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_ANIMOLDOC_H__B93E1E6F_4E89_4F98_8833_7743536FB100__INCLUDED_)
